#include <stdio.h>
/*
attribute((flatten)) function attribute
用此修饰的函数，在函数中调用的每一个函数都将尽可能地做内联处理。
而用flatten 属性修饰的函数，是否内联处理，就要根据编译器当前的编译选项以及当前上下文来定。
*/

/************************************************************************/
/*                                                                      */
/************************************************************************/
static int max(int x, int y) __attribute__((flatten));

static int max(int x, int y)
{
    return x > y ? x : y; // always inline if possible
}
/************************************************************************/
/*                                                                      */
/************************************************************************/

int main(int argc, char* argv[])
{ 
    printf("val:%d\n", max(10, 16));

    return 0;
}